package com.ligure.facade;

/**
 * Created by Administrator on 2017/2/28.
 * 外观模式：把一些复杂的流程封装成一个接口供给外部用户更简单的使用。
 * 外观类：该类封装了子系统中的一组接口。客户端代码只需要与外观类进行交互，而不需要直接与子系统的接口进行交互。
 * 外观类负责将客户端请求委托给适当的子系统对象进行处理，并返回结果给客户端。
 */
public class ShapFacade {
    private Shap circle; //圆形子系统
    private Shap square; //正方形子系统
    private Shap rectangle; //长方形子系统
    public ShapFacade() {
        circle = new Circle();
        square = new Square();
        rectangle = new Rectangle();
    }
    public void drawCircle(){
        circle.draw();
    }
    public void drawSquare(){
        square.draw();
    }
    public void drawRectangle(){
        rectangle.draw();
    }
}
